import {createSlice} from "@reduxjs/toolkit";
import axios from "axios";
const billListStore=  createSlice({
    // 子模块名称
    name: "billListStore",
    // 定义初始数据
    initialState: {
        billList:[]
    },
    // 定义同步方法
    reducers:{
        setBillList (state,action) {
            state.billList=action.payload;
        }
    }
})
// 从 billListStore对象身上的 actions属性中 解构出 同步方法用来给异步调用
const {setBillList} = billListStore.actions

// 异步发送请求获取数据
const getBillList = ()=>{
    return async (dispatch)=>{
        // 使用axios发送请求获取数据
        const res = await axios.get('http://localhost:8888/data');
        // 调用同步方法将数据保存至 Redux
        dispatch(setBillList(res.data))
    }
}

const billListRedux = billListStore.reducer
// 导出 billListRedux 子模块store
export default billListRedux;
// 导出异步方法，在需要使用的地方调用
export {getBillList}
